home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / dev / gui / MPGui5xs.lha / smakefile < prev   
Makefile  |  1997-03-04  |  7KB  |  204 lines

  1. # MPGui - Amiga Guis from Text Files
  2. # Copyright (C) © 1996 Mark John Paddock
  3.  
  4. # $VER: MPGui_smakefile 5.5 (4.3.97)
  5.  
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # any later version.
  10.  
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15.  
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. # mark@topic.demon.co.uk
  21. # mpaddock@cix.compulink.co.uk
  22.  
  23. # Make file for MPGui and SAS/C 6.56
  24.  
  25. # various defines
  26. OS        = sC/
  27. PS        = sP/
  28. PA        = $(PS)a/
  29. DS        = sD/
  30. GS        = sG/
  31. R         = Rexx/
  32. I         = .info
  33. G         = Gui/
  34. D         = docs/
  35. INC       = include/
  36. DE        = Demo/
  37.  
  38. # Compilation flags
  39. # Normal compile
  40. NORMFLAGS  = PARM=R CONSTLIB NOSTKCHK STRMER UCHAR STREQ OPT OPTGO\
  41.  CNEST NOMINC STRCONS VERBOSE STRSECT=CODE NOCHKABORT\
  42.  DBG=L WARN=ALL ERR=ALL IGN=104,51,148,190,61,165,120,212,112 IDIR=$(INC)
  43. # Compile math = FFP 000
  44. CCFLAGS000 = $(NORMFLAGS) CPU=ANY MATH=FFP OPTSIZE
  45. # Compile MPGui.library
  46. CCFLAGSLG000= $(CCFLAGS000) LIBCODE
  47.  
  48. # default compilation
  49. .c.o:
  50.    sc $(CCFLAGS000) $*.c
  51.  
  52. .asm.o:
  53.     asm -d $*.asm
  54.  
  55. IGDIST    = $(INC)libraries/MPGui.h $(INC)clib/MPGui_protos.h $(INC)pragmas/MPGui_pragmas.h
  56.  
  57. DGDIST    = $(D)MPGui.doc
  58.  
  59. MPGUIDIST = $(IGDIST) $(DGDIST) libs/MPGui.library RunMPGui $(GS)RunMPGui.c $(OS)sprintf.c $(DE)SnoopDos-prefs $(DE)SnoopDos-prefs$(I) Demo$(I)\
  60.  EditPrefs $(G)SnoopDos.def $(G)SnoopDos.gui $(G)Test.gui $(DE)Test $(DE)Test$(I) EditPrefs-rexx EditPrefs.guide\
  61.  MPGui.guide MPGui.guide$(I) COPYING Install Install$(I)
  62.  
  63. COMMONSRC = $(OS)sprintf.c
  64.  
  65. DOCSRC    = COPYING smakefile $(DS)EditPrefs.texi $(DS)MPGui.texi Install Install$(I)
  66.  
  67. EMPTYSRC   = lha/emptyfile $(D)emptyfile $(INC)clib/emptyfile $(INC)libraries/emptyfile $(INC)pragmas/emptyfile $(GS)pragmas/emptyfile\
  68.              libs/emptyfile
  69.  
  70. PREFSSRC  = $(PS)EditPrefs.c $(PA)EditPrefs.arb $(PA)EditPrefs_rxif.c $(PA)EditPrefs_rxcl.c $(PA)EditPrefs.c $(PA)EditPrefs.h $(PS)EditPrefs.cd
  71.  
  72. GUISRC    = $(GS)RunMPGui.c $(GS)MPGui.c $(GS)Hook.c $(GS)MPGui.h $(GS)MPGui.fd $(GS)clib/MPGui_Protos.h $(GS)libraries/MPGui.h $(GS)pragmas.edit\
  73.                 $(GS)MPGui.cd $(GS)RunMPGui.cd
  74.  
  75. DEMOSRC   = $(DE)SnoopDos-prefs $(DE)SnoopDos-prefs$(I) Demo$(I) $(G)SnoopDos.def $(G)SnoopDos.gui $(G)Test.gui $(DE)Test $(DE)Test$(I) 
  76.  
  77. FULLSRC   = $(COMMONSRC) $(DOCSRC) $(EMPTYSRC) $(PREFSSRC) $(GUISRC) $(DEMOSRC) MPGui.guide$(I) Read.me
  78.  
  79. PREFSOBJ  = $(PS)EditPrefs.o $(OS)sprintf.o $(PA)EditPrefs.o $(PA)EditPrefs_rxcl.o $(PA)EditPrefs_rxif.o
  80.  
  81. GUIOBJ000 = $(GS)MPGui.o $(GS)Hook.o
  82.  
  83. #stuff to delete
  84. DELETE    = \#?/\#?.o \#?/\#?/\#?.o \#?/\#?.ld EditPrefs \
  85.  $(GS)RunMPGui RunMPGui libs/MPGui.library $(GS)MPGui.library $(GS)pragmas/MPGui_pragmas.h\
  86.  EditPrefs-rexx EditPrefs.guide\
  87.  $(IGDIST) $(DGDIST)
  88.  
  89. # Default is to generate Source and Object lha
  90. Everything: lha/MPGui55.lha lha/MPGui55s.lha
  91.  
  92. # Delete all the built files (except two above) to force a recompile
  93. Delete:
  94.    -delete $(DELETE)
  95.  
  96. # MPGui lha distribution
  97. lha/MPGui55.lha: $(MPGUIDIST)
  98.     -delete lha/MPGui55.lha
  99.     lha -a -F u -x lha/MPGui55.lha <@<
  100.     $(MPGUIDIST)
  101.     <
  102.  
  103. # Source distribution - compressed lha archive
  104. lha/MPGui55s.lha: $(FULLSRC)
  105.     -delete lha/MPGui55s.lha
  106.    lha -a -F u -x lha/MPGui55s.lha <@<
  107.     $(FULLSRC)
  108.     <
  109.  
  110. #Includes
  111. $(INC)libraries/MPGui.h: $(GS)libraries/MPGui.h
  112.     copy $(GS)libraries/MPGui.h $(INC)libraries/MPGui.h
  113.  
  114. $(INC)clib/MPGui_protos.h: $(GS)clib/MPGui_protos.h
  115.     copy $(GS)clib/MPGui_protos.h $(INC)clib/MPGui_protos.h
  116.  
  117. $(INC)pragmas/MPGui_pragmas.h: $(GS)pragmas/MPGui_pragmas.h
  118.     copy $(GS)pragmas/MPGui_pragmas.h $(INC)pragmas/MPGui_pragmas.h
  119.  
  120. #autodocs
  121. $(D)MPGui.doc: $(GS)MPGui.c $(GS)RunMPGui.c
  122.     makedoc $(GS)MPGui.c $(GS)RunMPGui.c noicon toc autodoc $(D)MPGui.doc
  123.  
  124. # Rexx docs
  125. EditPrefs-rexx: $(PA)EditPrefs_rxif.c
  126.     makedoc $(PA)EditPrefs_rxif.c noicon toc amigaguide noformfeed autodoc EditPrefs-rexx
  127.  
  128. # guide file using MakeInfo
  129. EditPrefs.guide: $(DS)EditPrefs.texi
  130.    Makeinfo --amiga-39 -o EditPrefs.guide $(DS)EditPrefs.texi
  131.  
  132. MPGui.guide: $(DS)MPGui.texi
  133.    Makeinfo --amiga-39 -o MPGui.guide $(DS)MPGui.texi
  134.  
  135. # MPGui stuff
  136. $(GS)RunMPGui.ld: $(GS)RunMPGui.c $(INC)pragmas/MPGui_pragmas.h $(INC)clib/MPGui_protos.h $(INC)libraries/MPGui.h $(OS)sprintf.o $(GS)Rmessages.h
  137.     sc $(CCFLAGS000) link $(GS)RunMPGui.c $(OS)sprintf.o to $(GS)RunMPGui.ld
  138.  
  139. RunMPGui: $(GS)RunMPGui.ld
  140.     slink from $(GS)RunMPGui.ld to RunMPGui stripdebug noicons
  141.  
  142. $(GS)Rmessages.h: $(GS)RunMPGui.cd
  143.     CatComp $? CFILE=$@ NOOPTIM NOCODE NOARRAY
  144.  
  145. $(GS)MPGui.library: $(GUIOBJ000)
  146.     sc $(CCFLAGSLG000) "linkopt=LIBID MPGui.library addsym VERBOSE" STARTUP=libinitr TO $(GS)MPGui.library link LIBFD $(GS)MPGui.fd LIBVERSION 5 LIBREVISION 5 $(GUIOBJ000)
  147.  
  148. libs/MPGui.library: $(GS)MPGui.library
  149.     slink from $(GS)MPGui.library to libs/MPGui.library stripdebug noicons
  150.  
  151. $(GS)pragmas/MPGui_pragmas.h: $(GS)MPGui.fd $(GS)pragmas.edit
  152.     fd2pragma $(GS)MPGui.fd $(GS)pragmas/MPGui_pragmas.h
  153.     ed $(GS)pragmas/MPGui_pragmas.h with $(GS)pragmas.edit
  154.  
  155. $(GS)MPGui.o: $(GS)MPGui.c $(GS)libraries/MPGui.h $(GS)MPGui.h $(GS)messages.h
  156.     sc $(CCFLAGSLG000) $*.c
  157.  
  158. $(GS)Hook.o: $(GS)Hook.c $(GS)MPGui.h $(GS)messages.h
  159.     sc $(CCFLAGSLG000) $*.c
  160.  
  161. $(GS)messages.h: $(GS)MPGui.cd
  162.     CatComp $? CFILE=$@ NOOPTIM NOCODE NOARRAY
  163.  
  164. # EditPrefs debug object
  165. $(PS)EditPrefs.ld: $(PREFSOBJ)
  166.    slink <WITH <
  167.    FROM lib:c.o $(PREFSOBJ)
  168.    LIBRARY lib:sc.lib LIB:amiga.lib
  169.    TO $(PS)EditPrefs.ld SC SD BATCH
  170.    VERBOSE
  171.     ADDSYM
  172.    DEFINE @__chkabort=@__dummy
  173.    <
  174.  
  175. # non debug object
  176. EditPrefs: $(PS)EditPrefs.ld
  177.    slink $(PS)EditPrefs.ld to EditPrefs STRIPDEBUG NOICONS
  178.  
  179. $(PS)EditPrefs.o: $(PS)EditPrefs.c $(INC)pragmas/MPGui_pragmas.h $(INC)clib/MPGui_protos.h $(INC)libraries/MPGui.h\
  180.  $(PA)EditPrefs.h $(PS)messages.h
  181.  
  182. $(PS)messages.h: $(PS)EditPrefs.cd
  183.     CatComp $? CFILE=$@ NOOPTIM NOCODE NOARRAY
  184.  
  185. # ARexxBoxStuff
  186. $(PA)EditPrefs_rxcl.c: $(PA)EditPrefs.arb
  187.    echo "Use ARexxBox to regenerate EditPrefs ARexx source"
  188.    Fault 10
  189.  
  190. # ARexxBox does not regenerate the .c file so setdate it if the header has changed
  191. $(PA)EditPrefs.c: $(PA)EditPrefs.h
  192.    setdate $(PA)EditPrefs.c
  193.  
  194. $(PA)EditPrefs.h: $(PA)EditPrefs.arb
  195.    echo "Use ARexxBox to regenerate EditPrefs ARexx source"
  196.    Fault 10
  197.  
  198. $(PA)EditPrefs.o: $(PA)EditPrefs.c $(PA)EditPrefs.h
  199.    sc $(CCFLAGS000) IGN=178 $*.c
  200.  
  201. $(PA)EditPrefs_rxcl.o: $(PA)EditPrefs_rxcl.c $(PA)EditPrefs.h
  202.  
  203. $(PA)EditPrefs_rxif.o: $(PA)EditPrefs_rxif.c $(PA)EditPrefs.h $(INC)pragmas/MPGui_pragmas.h $(INC)clib/MPGui_protos.h $(INC)libraries/MPGui.h
  204.